<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="../../assets/vue.js"></script>
</head>
<body>
    <div id="root">
        <input type="text" v-model="inputValue">
        <button @click="handleClick">提交</button>
        <ul>
            <todo-item
                v-for="(item, index) in list"
                :key="index"
                :content="item"
                :index="index"
                @delete="handleDelete"
            ></todo-item>
        </ul>
    </div>
    <script>
        Vue.component('todo-item', {
            props: ['content', 'index'],
            template: '<li @click="handleClick">{{content}}</li>',
            methods: {
                handleClick: function() {
                    this.$emit('delete', this.index)
                }
            }
        })

        new Vue({
            el: "#root",
            data: {
                inputValue: '',
                list: []
            },
            methods: {
                handleClick: function() {
                    this.list.push(this.inputValue)
                    this.inputValue = ''
                },
                handleDelete: function(index) {
                    this.list.splice(index, 1)
                }
            }
        })
    </script>
</body>
</html>